The present invention relates to the graphical display of slides in a display, and more particularly, to a method and a system for translating slides into pages of animated and non-animated objects for graphical display as a slide show by a viewing facility such as a browser.
Computer programs often have associated data files that are processed by the computer program during its normal execution. A data file can contain information that is processed and presented to a user either in a video presentation or an audio presentation, or a combination of video and audio. Presentation programs are examples of computer programs that process an associated data file.
Presentation programs enable a user to create, edit, manage, and perform xe2x80x9cpresentationsxe2x80x9d such as a slide show displayed by a computer. One example of a popular presentation program is xe2x80x9cPowerPoint,xe2x80x9d available from xe2x80x9cMicrosoft Corporationxe2x80x9d, of Redmond, Washington. A slide show presentation includes a set of electronic xe2x80x9cslides,xe2x80x9d each slide corresponding to one screen or page of output. An electronic slide may also be converted to a 35 mm or overhead transparency and displayed in a standard slide projector or overhead projector. Each slide contains one or more objects, such as text, graphical images, or graphic automation. A slide may also include a sound object or video that is played when the slide is displayed during a xe2x80x9cslide showxe2x80x9d performance.
A presentation program xe2x80x9cperformsxe2x80x9d a slide show by sequentially displaying a series of slides contained within the slide show presentation. The slides are displayed on a computer screen or projected onto a separate surface. During a performance of a slide show, a xe2x80x9cpresenterxe2x80x9d controls the performance by invoking commands to xe2x80x9cadvancexe2x80x9d to the next slide. A command can be entered using a keyboard, a mouse, or another suitable input device.
Alternatively, an author of a slide show presentation can include slide xe2x80x9ctimingsxe2x80x9d with each slide. A slide timing corresponding to a slide indicates the number of seconds that the slide is displayed before the presentation program automatically advances to the next slide. During a performance of a slide show, a slide show presentation will automatically advance to the next slide when the existing slide""s timing ends. An ordered sequence of slides is predetermined by a slide show presentation author. During a performance of a slide show, a presenter can enter commands to alter the sequence of slides.
The xe2x80x9cPowerPointxe2x80x9d program enables a user to save a slide show in an associated slide presentation file, so that the slide show can be recreated at another location that has access to xe2x80x9cPowerPointxe2x80x9d and the slide presentation file. Unfortunately, a presentation program such as xe2x80x9cPowerPointxe2x80x9d is not commonplace and many computer users do not have access to this type of program. In the past, slide presentation files were often distributed on a storage medium that also contained at least a display only version of the presentation program for graphically displaying the slide show to a user with the information stored in the slide presentation file. Since there is limited space available on a contemporary storage medium that is intended for mass distribution, the number and size of slide presentation files that can economically be distributed in this manner is presently limited. Additionally, since a slide show included in a slide presentation file must be displayed with some version of a presentation program, additional effort is required to locate, purchase and install the program before the slide show can be graphically displayed to other users, if not previously installed.
An on-line information system typically includes one computer system (a server) that makes information available so that other computer systems (clients) can remotely access the information. The server manages access to the information, which can be structured as a set of independent on-line services. The server and client communicate via messages conforming to a communication protocol and sent over a communication channel such as a computer network or through a dial-up connection.
Information resources managed by the server may include files, databases, and programs on the server system or on an external computer system. The information that the server provides may simply be stored on the server, may be converted from other formats manually or automatically, may be computed on the server in response to a client request, may be derived from data and programs on the server or other machines, or may be derived by any combination of these techniques.
The user of an on-line service typically uses a browser program executed on the client system to access the information managed by the on-line service. The browser enables the user to selectively view, search, download, print, edit, and/or file the information managed by the server. On-line services are available on the World Wide Web (WWW, which operates over the global Internet. The Internet interconnects a large number of otherwise unrelated computers or sites. Similar services are available on private networks called Intranets that may not be connected to the Internet, and through local area networks (LANs). The WWW and similar private architectures provide a xe2x80x9cwebxe2x80x9d of interconnected document objects. On the WWW, these document objects are located at various sites on the global Internet.
Among the types of document objects in an on-line service are documents and scripts. Documents that are published on the WWW are written in the Hypertext Markup Language (HTML). HTML documents can be created using programs specifically designed for that purpose or by executing script files. An HTML document includes a hierarchical set of markup elements; most elements have a start tag, followed by content, followed by an end tag. The content is a combination of text and nested markup elements. Tags, which are enclosed in angle brackets (xe2x80x98 less than xe2x80x99 and xe2x80x98 greater than xe2x80x99), indicate how the document is structured and how to display the document, as well as destinations and labels for hypertext links. There are tags for markup elements such as titles and headers, text attributes such as bold and italic, lists, paragraph boundaries, links to other documents or other parts of the same document, in-line graphic images, and for many other features.
The following lines of exemplary HTML code briefly illustrate how the language is used in a sample HTML document:
Some words are  less than B greater than bold less than /B greater than , others are  less than I greater than italic less than /I greater than . Here we start a new paragraph. less than P greater than 
Here""s a hyperlink to the  less than A HREF=xe2x80x9chttp://www.microsoft.comxe2x80x9d greater than Microsoft Corporation  less than /A greater than home page.
This sample HTML document is a hypertext document because it contains a hypertext link to another document in the line that includes xe2x80x9cHREF=. xe2x80x9d The format of this link is described below. A hypertext document may also have a link to other parts of the same document. Linked documents may generally be located anywhere on the Internet. When a user is viewing the document using a browser, the links are displayed as highlighted words or phrases. For example, using a browser, the sample document above might be displayed on the user""s screen as follows:
Some words are bold, others are italic. Here we start a new paragraph.
Here""s a link to the Microsoft Corporation home page.
In a browser, the link may be selected, for example, by clicking on the highlighted area with a mouse. Typically, the screen cursor changes when positioned on a hypertext link. Selecting a link will cause the associated document to be displayed. Thus, clicking on the highlighted text xe2x80x9cMicrosoft Corporationxe2x80x9d would fetch and display the associated home page for that entity. Similarly, the HTML language also provides a mechanism (the image or xe2x80x9cIMGxe2x80x9d element) that enables an HTML document to include an image that is stored as a separate file. When the end user views the HTML document, the included image is displayed as part of the document, at the point where the image element was positioned in the document. Also, when the user is viewing an HTML page that includes a display of a thumbnail image using a browser, a hyperlink connection from the thumbnail image to the original image can be activated by selecting the displayed thumbnail image. In this way, the original image is retrieved and graphically displayed when the user selects the thumbnail image.
One of the most commonly installed programs on a computer is a browser for graphically displaying an HTML page that may be accessed locally or through an on-line service connected to a network such as the Internet. The browser program may be a stand-alone program such as the xe2x80x9cMicrosoft Corporation""s Internet Explorerxe2x80x9d or the browser""s functionality may be integrated into a computer operating system, e.g., the xe2x80x9cWindows 98xe2x80x9d operating system available from the xe2x80x9cMicrosoft Corporation.xe2x80x9d Although the browser is used to generate a graphical display of objects included in an HTML page, the dimensions of the browser""s display window can differ from the dimensions initially coded for the display space of the page. The size of the browser""s display window can vary according to the resolution of the video display or the window dimensions that are selected by a user.
In the prior art, one solution to this problem has been to create different HTML pages that are encoded for different video display resolutions in an HTML document. Another solution has been to create all of the HTML pages in a document at the lowest video display resolution offered by most video displays, e.g., 640xc3x97480. None of the prior art solutions solve the problem of automatically fitting the graphical display of an HTML page to a display window that has dimensions that are different than the dimensions initially encoded for the HTML page.
It is desirable to have a facility that enables a presentation program to generate an HTML document that includes a set of HTML pages that closely relate to each slide in a slide presentation file created by the program. Preferably, such a facility would enable another user to employ another program, such as a browser, that is already installed on the other user""s computer to present a slide show with a graphical display of the HTML document by the browser. In this case, when the HTML document related to the slide show presentation is distributed to other users on a storage medium, the medium would not have to include a version of the presentation program. Since more of the capacity of the storage medium could be used for storing HTML documents related to slide show presentations, significantly larger slide show presentations could be distributed on the same storage medium.
Also, an HTML document corresponding to the slide show presentation could be distributed over a network as an information resource with an on-line service, so that another user could easily download the document to their computer and graphically display the HTML pages corresponding to the slides in the slide show presentation with an HTML-enabled facility already installed on the computer such as a browser program. It is also preferable that the facility would automatically fit the dimensions and positions of a graphical display of objects in an HTML page to a display and a window in the display when the size of the window dimensions are different than the display space of the HTML page.
Additionally, the slide show presentation may include animations that are either associated with objects in a slide and/or transitions between slides. The object animations could include scaled and nonscaled effects such as crawl, fly, zoom, stretch, spiral and swivel. The transition animation types could comprise dissolve, checkerboard, and wipe effects. Also, transition animations could be started automatically based on a predetermined time interval such as provided for in a xe2x80x9ckioskxe2x80x9d style slide show and/or they could be selected, e.g., an input from a pointing device and/or a keyboard could cause an animated transition to occur.
It is also desirable to have a facility that enables the user to include both object and transition animations in an HTML document generated from a plurality of slides originally created with a presentation program. The animations would be closely related to the corresponding object and transition animations included in the slides that are used to generate the HTML document. Preferably, such a facility would enable different modes for graphically displaying the animations along with the contents of a scaleable HTML page in an HTML-enabled viewing program such as a browser. One mode might cause the browser to present the generated slide show in a window of the display and another might present the slide show as a full-screen display.
The present invention provides a method for generating a slide show for graphical display by a viewing facility. The slide show is generated from a plurality of slides that were originally created for a slide show to be presented with another facility. Each object in the plurality of slides originally created for presentation by the other facility is saved in a corresponding series of pages. The contents of the pages, e.g., an object disposed in a display space, are included in a container for the page. The size of the display space is related to the size of the container. Also, the size and position of the object in the display space of the page is related to the size of the page""s display space.
The present invention generates an animated object for each object in the page that is related to an animation of the object in the corresponding slide created for presentation by the other facility. Each animated object is included in the container for the page. The present invention generates a queue for ordering the display of each object and each animated object in each container of each page. The queue defines an order and time line and for presenting the generated slide show to a user.
A viewing facility is employed to display the contents of each container for each page in accord with the order and time line defined by the queue. The generated slide show is presented to the user in a graphical display that is related to the intended presentation by the other facility of the originally created slide show.
In accordance with other aspects of this invention, an animated transition is generated for each page that is related to an animation of the transition between the corresponding slide and the next slide in the slide show created for presentation by the other facility. The animated transition is added to the queue, so that the animated transition is presented between the display of a slide in the generated slide show that corresponds to the page and a next slide in the generated slide show.
In accordance with further aspects of this invention, an object animation tag is generated for each animated object and stored in the container for the associated page. Similarly, a transition animation tag is stored in the container for the associated page. The object and transition animation tags identify respective parameters including type, duration and order. The respective parameters for the object animation tag and the transition animation tag are employed to generate the queue that defines the order and time line for presenting the generated slide show.
In accordance with another aspect of the present invention, the user may select a mode for displaying the generated slide show with the viewing facility. The selectable modes include a window and full screen. The size of the full screen mode is set equal to the dimensions of a display displaying the generated slide show to the user. Additionally, the user may separately select an entry and an exit animation and/or sound for each animated object. Also, the user may select a shape attached to a non-animated object to be animated.
In accordance with still further aspects of this invention, the user may reorder the display of each object and each animated object in each container of each page so that the queue defining the order and time line for presenting the generated slide show is changed. A preview of the presentation of the generated slide show may be selected for a thumbnail display. Also, the user may select an object in a page to be animated or not. The user may also select a trigger for starting the animation of the animated object. The trigger may include a time interval and the selection of the animated object by a pointing device.
In accordance with other aspects of this invention, the animation may be an in-place animation, comprising: box in, box out, wipe up, circle in, circle out, wipe down, wipe right, wipe left, vertical blinds, horizontal blinds, checkerboard across, checkerboard down, random dissolve, split vertical in, split vertical out, strips left down, strips left up, strips right down, strips right up, random bars horizontal, random bars vertical and random in-place animation. The animation may also be a nonscaled effect, including crawl, peek and fly. Further, the animation could be a scaled effect such as spiral, zoom, stretch, and swivel.
In accordance with still other aspects of this invention, a movie, sound and/or video clip may be played with the presentation of the generated slide show. The user may select a start index and an end index for the sound clip associated with the presentation of the generated slide show. The user may also select a continuously looped display of a movie clip or cause the clip to rewind after it is displayed. The presentation of the slide show may be paused when the clip is playing or automatically end when the playing of the clip is completed. Also, the playing of the clip may be selected to end after the presentation of a selected number of slides in the generated slide show by the viewing facility.
In accordance with further aspects of this invention, a chart element animation tag may be generated for each chart element in the page that is related to the animation of the chart element in the corresponding slide created for presentation by the other facility. An animated chart element is generated for each chart element animation tag and included in the container for the page. The chart element may include a legend, grid, text, and graphics. The animated chart element is added to the queue, so that it will be presented in the generated slide show by the viewing facility. The user may select an entry and exit animation and/or sound for each animated chart element. Also, the user may select the order for displaying the animated chart element.
In accordance with still further aspects of this invention, a size and a position for each object included in each page are generated, the size and the position of each object being related to the size of the display space and being stored in the container of the page associated with the object. The present invention determines if a dimension of a display is different than a corresponding dimension of the display space of the page. If so, a scalar is generated that is related to the difference in the dimension of the display and the corresponding dimension of the display space of the page. The scalar is employed to calculate another size for the display space of the page, which is related to the size of a display and a default size of the page. The calculation of the other size of the display space causes the related size and position of the object to be changed in proportion to the other size of the display space. The graphical display of the display space of the page and the changed size and position of the object are automatically relocated in the display, so that the user can view the object in the display space without having to scroll the graphical display of the display space.
Additionally, the page, the display space and the object may be encoded with a computer language selected from a group including HTML, DHTML, CGI, JavaScript, VBScript and VRHTML. The computer language may support a DIV tag to create sizes and positions that are percent-based for the scaleable page, the display space and the object.
In accordance with yet another aspect of this invention, the dimensions of the display space, scaleable, page and the dimensions and position of the object may be measured in the lines of resolution for the display. In this way, the graphical display of the display space and the object may be automatically adjusted to the dimensions of the display. Also, the graphical display of the object in the display space may be automatically fitted to the size of the display when at least one of the dimensions of the display is dynamically changed.
In accordance with other aspects of this invention, the viewing facility may be a browser program or a program module associated with another program including an operating system, presentation, editor, spread sheet, information organizer, and database. The viewing facility supports controls for advancing, reversing, pausing, and exiting the presentation of the slide show.
In accordance with other aspects of the invention, a first facility could be employed to generate the pages from the slide show created for presentation by the other facility and the second facility could be employed to generate the slide show for presentation by the viewing facility. Also, the first and second facilities could be program modules for the same program. Additionally, the first facility may be executed within the other facility that created the slide show for presentation by the other facility. Furthermore, the second facility may be executed by the viewing facility.
In accordance with still further aspects of the invention, a computer-readable medium may have computer-executable instructions for performing substantially the same method described above. Also, a computer system may implement logical instructions that similarly perform the above-identified method.